SamSuka
FPGAzumSpass

FPGAzumSpass

patreon


FPGAzumSpass activity

Special fast clocked core

Hi Everyone,

one topic that seems to be important for a lot of people is the speed of the core. While it is already at least as fast as the original console, some games struggle a lot with low performance.

I often get asked if the core could ever do something about it. I have to say, ...

View Post

1 year of development

Hi Everyone!

Today I want to look back at what happened this year, where we came from and how everything has turned out.


January

On 2nd of January I created a N64 test folder on my computer. The purpose was to write some assembler tests in the style o...

View Post

100% TLB and 100 % booting

Hi Everyone,

the core reached two major milestones before the end of the year, so let's take a look at how that was reached and what the current status is.


100% booting

In the last week all of the non-booting games could be fixed and show signs of lif...

View Post

More TLB progress

Hi Everyone,

I spend most of the 10 days since the last post with the TLB. Doing the implementation in hardware, where everything happens in parallel is more difficult than in software, but I made good progress:

- several new games are playable. Some examples are Goldeneye, Perfect Da...

View Post

TLB progress

Hello Everyone!

I started with the work on the TLB implementation and made some good progress over the last week. There are already a bunch of games that are playable now, which have not been before:

Castlevania, Goemon, Bomberman, Paper Mario, Rakugakids, Killer Instinct, Mario Golf ...

View Post

Write Fifo and more

Hi Everyone,

one of the missing CPU features has been implemented for the N64 core last week and we will take a look at it today. But before the technical details, we take a look at the other changes since the last post:

- fix z-Buffer regression in 32Bit color mode

- fix interl...

View Post

VI - Async video out and more

Hi Everyone!

The first of the open tasks from the last post is now mostly implemented. What again was it useful for? You can see it in the title image.

The core previously used the main system clock of 62.5 Mhz to generate video output from it. The N64 however was using different cloc...

View Post

Open tasks

Hi Everyone!

I got a lot of requests about an overview of the project and what things are still to do, so this post will cover it in detail.

First, let's sum up the progress in the last week:

-  A hang in several wrestling games and NBA 99 hang was fixed

- Noise dithe...

View Post

Bugfixing details

Hi Everyone!

after completing most of the VI work, I went back to fixing bugs on the N64 core. Today we will look at some of them. Instead of just listing every one, I will pick some and tell more about them in detail, as I think this is more interesting.

We start with the most import...

View Post

Video Interface processing

Hi Everyone!

With the VI video processing pipeline being implemented now, I feel ready to tell you about all the features it can do. We will do this today step by step, looking from the big picture and zoom in on every component in detail.

Let's have a look at the overview first:

<...

View Post

17 days of progress

Hi Everyone!

As the last post was about one fix alone, this post will cover all the others changes of more than 2 weeks. The list is long, so let's start!


RDP: fix load block overflow when loading max line length

The result is visible in the screensho...

View Post

My most wanted bugfix

Hi Everyone!

Today we will look at the technical details of a bugfix that I have done 2 days ago and that made so many games playable. It is kind of a bug hunt journey, as the path to fixing has been like a maze with many dead ends. Even the solution alone holds so much details that it coul...

View Post

SRAM saving, PAL, Fog, Faces and many fixes

Hi Everyone!

10 days passed since the last update and we can look back at the changes. It's way to much to explain all of them here, but you can see the full list at the end of this post if you really want. Instead I will focus on the main changes in this version.

First I want to than...

View Post

Datacache, Texture Filtering and more

Hi Everyone!

It's only been a week since the last post, but there have been plenty of improvements and new features in the core, so let's take a look at what these are and how they work.


First new feature was two pass rendering for the RDP:

2023-09-03 06:14:20 +0000 UTC View Post

RDP progress

Hi everyone,

after working on the RDP for 10 more days, I want to use this post to tell you more on the recent changes and the technical side of them.

First, let's look at the overview of the RDP and the status in the core:

2023-08-26 06:37:52 +0000 UTC View Post

First 3D games booting

Hi everyone,

I worked on the RDP in the last 2 weeks to get the first basic drawing features implemented into the core. While testing them, I was shocked to noticed that Mario Kart 64 was booting up fully until ingame. I really didn't expect it at this point in time already, so it's a nice ...

View Post

How fast is the RSP?

Hi Everyone,

todays progress update will go into some technical details of the RSP and I think they can be presented best by comparing the RSP against other systems I worked on in the past.

If you still have the tasks from the last post in mind, then I can tell you that 2 of them have...

View Post

First RSP steps done

Hi Everyone,

let's look together at the progress since the last post and the plan for the next weeks. We will also look in detail at the RSP this time, to understand what the progress even means.

First let's sum up the changes, then go into detail:

- EEPROM handling was implemen...

View Post

First game playable

Hi Everyone!

Just a short update from my side. I've been mostly working on the serial interface(SI) DMA and the PIF controller interface. Both together are required for getting controller inputs to the game. As a lot of software will busy wait until this SI DMA completes, they just hang whe...

View Post

FPU done

Hi everyone!

Great news this time: I could finish the FPU implementation much faster than I thought. Furthermore it even costs less resources than I thought. 

But let's do things step by step. I have seen a lot of responses over the last weeks of people not knowing what a FPU rea...

View Post

FPGA FPU work started

Hi everyone,

there has been good progress in the last week, much more than I thought I could reach. Let's recap the last post:

My soft floating point implementation for the emulator was still missing plenty of instructions. It turned out that the more you learn about it, the faster yo...

View Post

CPU and RDP progress

Hi everyone,

several things happened over the last two weeks, so I want to summarize them for you and tell you about the current work.

The COP0 part of the n64-systemtest, mentioned in the last post, is now fully working. The change was some edge case handling of reserved COP0 registe...

View Post

CPU progress and scope

Hi everyone,


I've been working mostly on the CPU part of the N64 core in the last 2 weeks and made some good progress there. Yesterday was finally the moment where the wonderful n64-systemtest started to work on the core.

This alone is great enough, but it will also to allo...

View Post

FPGA core

Hi everyone!

Today I want to kick off the FPGA part of the N64.

It means that you will find the very first core build attached to this post.

Also the GitHub repository is open for you to take a look at the VHDL code or read the changelog as your daily newspaper :)

View Post

DDR3 Tests finished

Hi everyone,

in the last post I told you that I want to write a DDR3 test core. This is done now and I want to talk about what this core can do, how it works and what the results mean for the N64 core.

The repository can be found here:

2023-05-13 05:56:36 +0000 UTC View Post

N64 Systemtest fully passed

Hi everyone,

I want to report to you after a huge milestone was reached.

As mentioned in the last post, i was working on 3 major topics in the last days:

- TLB in the CPU

- PAL timing

- save memory

Let's look at it in detail:

PAL timing was really no big ...

View Post

Progress and Schedule

Hi everyone,

first I want to welcome all the new Patrons who joined in the last 10 days. It was absolutly amazing to see this huge positive response, even with the project still being in the early phase. A big thanks to everyone, of course also to the long time supporters who stayed here wi...

View Post

I'm just a dreamer

Hi Everyone,

I finally need to reveal what I'm working on. 3 months of relative silence is quite a bit and my emulator is about as far as where my PSX emulator was when I revealed it, so let's do it today.

Also with all the time I already spend and how important that system is for me,...

View Post

First games booting in emulator

Hi Everyone,

I finally managed to get the first games booted in the emulator for the new system. This is a huge step for the project, as the components I tested seperate before must now work hand in hand together. Also the motiviation always gets a boost when this happens.

I even got ...

View Post

Audio is implemented

Hi Everyone,

I got the audio output of the new system working in my emulator!

Audio has always been tricky for me, because of two reasons:

- it's hard to compare to original output without tools and even then it's not bit perfect comparable like video if the output of the origin...

View Post